<?
/**
 * Clase encargada de mantener el Login del usuario.
 */
class Login{
	
	/**
	 * Identificador del usuario
	 * @var string
	 */
	private $user = NULL;
	
	/**
	 * Constructor de la clase.
	 * En caso de fallo en el login, retorna NULL.
	 *
	 * @param string $user Usuario
	 * @param string $pass Contraseña
	 */
	public function __construct($user=null, $pass=null){

		if($_SESSION['login']){
			$Login = unserialize($_SESSION['login']);
			$this->user = $Login->get_User();
		}
		else
			$this->login($user, $pass);
	}
	
	public function init(){
		try{
			
		}catch(Exception $e){
			header("Location: http://".SERVER_NAME.APP_DIR."/login/logout.php");
		}
	}
	
	public function get_User(){
		return $this->user;
	}
	
	public function get_Usuario(){
		return new Usuario($this->user);
	}
	/**
	 * Método que comprueba si el usuario y la contraseña son válidos.
	 *
	 * @param string $user
	 * @param string $pass
	 */
	
	private function login($user, $pass){
		$MySQL = new MySQL();
		$Validar = new Validar();
		
		if($Validar->cadena($user) && $pass && $Validar->passwd($pass)){
			
			$epass = PAux::encode($pass);
			
			//Se obtiene el id del centro:
			$query = "SELECT password
						FROM usuarios 
						WHERE id='$user' AND password='$epass'; ";

			$res_login = $MySQL->query($query);

			//Se comprueba el resultado
			if(mysql_num_rows($res_login) != 1){
				throw new Exception("Los datos introducidos no son correctos.");
			}else{
				$row_centro = mysql_fetch_array($res_login);
				
				$this->user = $user;
				
				//$this->init();
			}
		}else{
			throw new Exception("Los datos introducidos no son correctos.");
		}
	}
	
}
?>